Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Expose additional ports for sessions internally #2084

Merged
merged 1 commit into from
Dec 17, 2024

Conversation

MoritzWeber0
Copy link
Member

@MoritzWeber0 MoritzWeber0 commented Dec 11, 2024

Expose additional configurable ports for tools in the user-internal network. Example use-case would be to expose an additional REST API, which can be used by a another session to automate tasks.

I'll show in a video how this could look like (using the REST API from https://github.com/DSD-DBS/capella-addons):

2024-12-11.16-18-02.mp4

Copy link

codecov bot commented Dec 11, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.56%. Comparing base (47fc358) to head (ca7eefd).
Report is 10 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2084      +/-   ##
==========================================
+ Coverage   85.52%   85.56%   +0.03%     
==========================================
  Files         224      225       +1     
  Lines        7440     7460      +20     
  Branches      520      525       +5     
==========================================
+ Hits         6363     6383      +20     
  Misses        911      911              
  Partials      166      166              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

github-actions bot commented Dec 11, 2024

API Changelog 4.15.1.dev16+g666faf68

GET /api/v1/projects/{project_slug}/models

  • added the required property '/items/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

POST /api/v1/projects/{project_slug}/models

  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/projects/{project_slug}/models/{model_slug}

  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

PATCH /api/v1/projects/{project_slug}/models/{model_slug}

  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/projects/{project_slug}/models/{model_slug}/provisioning

  • added the required property '/anyOf[subschema 1: ModelProvisioning]/session/anyOf[subschema 1: Session]/connection_method/anyOf[subschema 1: ToolSessionConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/anyOf[subschema 1: ModelProvisioning]/session/anyOf[subschema 1: Session]/version/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/anyOf[subschema 1: ModelProvisioning]/session/anyOf[subschema 1: Session]/version/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/projects/{project_slug}/tools

  • added the required property '/items/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

POST /api/v1/projects/{project_slug}/tools

  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/sessions

  • added the required property '/items/connection_method/anyOf[subschema 1: ToolSessionConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/version/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/version/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

POST /api/v1/sessions

  • added the required property 'connection_method/anyOf[subschema 1: ToolSessionConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'version/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'version/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/sessions/{session_id}

  • added the required property 'connection_method/anyOf[subschema 1: ToolSessionConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'version/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'version/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/tools

  • added the required property '/items/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

POST /api/v1/tools

  • added the new optional request property 'config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional'
  • added the new optional request property 'config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional'
  • added the required property 'config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/tools/*/versions

  • added the required property '/items/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/tools/default

  • added the required property 'config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/tools/{tool_id}

  • added the required property 'config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

PUT /api/v1/tools/{tool_id}

  • added the new optional request property 'config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional'
  • added the new optional request property 'config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional'
  • added the required property 'config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property 'config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

GET /api/v1/users/{user_id}/sessions

  • added the required property '/items/connection_method/anyOf[subschema 1: ToolSessionConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/version/tool/config/connection/methods/items/anyOf[subschema 1: GuacamoleConnectionMethod]/ports/additional' to the response with the '200' status
  • added the required property '/items/version/tool/config/connection/methods/items/anyOf[subschema 2: HTTPConnectionMethod]/ports/additional' to the response with the '200' status

Copy link

github-actions bot commented Dec 11, 2024

A Storybook preview is available for commit 666faf6.
➡️ View Storybook
➡️ View Chromatic build

This comment has been minimized.

@MoritzWeber0 MoritzWeber0 linked an issue Dec 11, 2024 that may be closed by this pull request
@MoritzWeber0 MoritzWeber0 requested a review from zusorio December 13, 2024 10:19
Base automatically changed from internal-endpoint to main December 13, 2024 11:50
Expose additional configurable ports for tools in the user-internal network.
Example use-case would be to expose an additional REST API,
which can be used by a another session to automate tasks.
@MoritzWeber0 MoritzWeber0 force-pushed the expose-additional-ports branch from a5c867e to ca7eefd Compare December 13, 2024 11:52
Copy link

sonarcloud bot commented Dec 13, 2024

Copy link

This report was generated by comparing 666faf6 with 47fc358.
If you would like to check difference, please check here.

success

ArtifactName: reg

✨✨ That's perfect, there is no visual difference! ✨✨

item count
pass 432
change 0
new 0
delete 0

@MoritzWeber0 MoritzWeber0 merged commit b0b20a2 into main Dec 17, 2024
32 checks passed
@MoritzWeber0 MoritzWeber0 deleted the expose-additional-ports branch December 17, 2024 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Expose additional session ports internally
2 participants